package com.lihuinch.ti4j.chap7.demo;

class Poppet {
    private int i;

    Poppet(int ii) {
        i = ii;
    }
}

/**
 * 空白final
 *
 * @author lihuinch
 * @date 2018/1/27
 */
public class BlankFinal {
    private final int i = 0; // Initialized final
    private final int j; // Blank final
    private final Poppet p; // Blank final reference

    //! 必须每个构造函数中都有new  private final Poppet p2;
    //! 必须每个构造函数中都有赋值 private final int anInt;

    // Blank finals MUST be initialized in the constructor:
    public BlankFinal() {
        j = 1; // Initialize blank final
        p = new Poppet(1); // Initialize blank final reference
    }

    public BlankFinal(int x) {
        j = x; // Initialize blank final
        p = new Poppet(x); // Initialize blank final reference
    }

    public static void main(String[] args) {
        BlankFinal bf1 = new BlankFinal();
        BlankFinal bf12 =  new BlankFinal(47);
    }
} ///:~
